main{
  try {
    Args.parse(Main.class,args);
    Args.usage(Main.class);
  final EventExecutor ee=new DefaultEventExecutor(1);
  final RedisCommandHandler commandHandler=new RedisCommandHandler(new SimpleRedisServer());
  ServerBootstrap b=new ServerBootstrap();
  try {
    b.eventLoop(new NioEventLoop(),new NioEventLoop()).channel(new NioServerSocketChannel()).option(ChannelOption.SO_BACKLOG,100).localAddress(port).childOption(ChannelOption.TCP_NODELAY,true).childHandler(new ChannelInitializer<SocketChannel>(){
      @Override public void initChannel(      SocketChannel ch) throws Exception {
        p.addLast(new RedisCommandDecoder());
        p.addLast(ee,commandHandler);
    ChannelFuture f=b.bind().sync();
    f.channel().closeFuture().sync();
}
initChannel{
  ChannelPipeline p=ch.pipeline();
  p.addLast(new RedisCommandDecoder());
  p.addLast(ee,commandHandler);
}
